


let obj = {
    value:{},
    get proto(){
        return this.value
    },
    set proto(obj){
        if(obj instanceof Object){ // 只能是Object类型
            this.value = obj
        }
    }
}
obj.proto = {say:'我感激遇到你的哪一天。安谧的时光都静止了，柔和得岁月都无声。'}
obj.proto = 'abc' // 这个类型不是object，则无效

console.log(obj.proto)



//__proto__就是使用set和get限制只能写入Object类型，

let user = {}
user.__proto__ = {a:'123'}
user.__proto__ = 'ABC'
console.log(user.__proto__) // { a: '123' }

// 现在要求实现创建新的对象的__proto__能够写入非Object数据类型
user = Object.create(null)
user.__proto__ = 'ABC'

console.log(user.__proto__) // ABC